// pages/me/me.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo:{
      avatarUrl:'',
      nickName:'点击登录',
      isLogin:false
    }, //绑定用户基本信息
  },
  tapAvatar(){
    if (!this.data.isLogin) {
      //如果没有登录，点击直接return
      return
    }
    //选择图片
    wx.chooseMedia({
      count:1,
      mediaType:['image'],
      success:(res) => {
        console.log('选择图片:',res);
        let path = res.tempFiles[0].tempFilePath
        let userInfo = this.data.userInfo
        userInfo.avatarUrl = path
        this.setData({
          userInfo
        })
        //将文件上传至云存储
        this.upload(path)
      }

    })
  },

  upload(path){
    //把path的文件后缀，截取出来，作为新文件的后缀名
    let ext = path.substring(path.lastIndexOf('.'))
    let cPath = 'img_' + Math.random()+ext
    wx.cloud.uploadFile({
      filePath:path,
      cloudPath:cPath,
      success:(res) => {
        console.log('上传结果',res);
        let fileID = res.fileID
        this.updateUserAvatar(fileID)
      }
    })
  },
  updateUserAvatar(fileID){
    let db = wx.cloud.database()
    let _id = this.userInfo._id
    db.collection('users').doc(_id).update({
      data:{
        avatarUrl:fileID
      },
      success:(res) => {
        console.log('修改头像',res);
        wx.showToast({
          title:'修改成功',
          icon:'success'
        })
      }
    })
  },
  // 点击登录
  tapLogin(){
    if(this.data.isLogin){
      return
    }
    wx.getUserProfile({
      desc:'获取用户信息以维护会员权益',
      success:(res) => {
        console.log('获取用户信息',res);
        this.setData({
          userInfo:res.userInfo,
          isLogin:true
        })

        let db = wx.cloud.database()
        db.collection('users').get().then(queryRes => {
          console.log('查询用户信息',queryRes);
          if (queryRes.data.length==0) {
            this.regist(res.userInfo)
          }else{
            //如果登录过,则直接显示数据库中的数据
            let userInfo = queryRes[0]
            this.setData({userInfo})
          }
        })

        //去云数据库users集合中找，当前用户是否登录过，如果没有则注册
        this.regist(res.userInfo)
      }
    })
  },
  //将当前用户信息，注册到云数据库user集合
  regist(userInfo){
    let db = wx.cloud.database()
    db.collection('users').add({
      data:userInfo,
      success:(res) => {
        console.log('注册用户',res);
      }
    })
  },
  doubleTapEvent(){
    console.log('触发');
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})